#pragma once
#include "HashTable.h"

namespace bit
{
	template<class V,class Hash = HashFunc<V>>
	class set
	{
		struct setKeyofv
		{
			const V& operator()(const V& data)
			{
				return data;
			}
		};
		typedef HashBucket::HashTable<V, V, setKeyofv, Hash> HT;
	public:
		typedef typename HT::Iterator Iterator;
		Iterator begin()
		{
			return _ht.begin();
		}
		Iterator end()
		{
			return _ht.end();
		}
		pair<Iterator,bool> Insert(const V& data)
		{
			return _ht.Insert(data);
		}
	private:
		HT _ht;

	};


}

